#!/bin/bash
#
# Copyright 2017 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

source /opt/c2d/c2d-utils || exit 1

case "$1" in
        success|failure)
                readonly ACTION="$1"
        ;;
        *)
                echo "Requires an argument of value [success|failure]"
                exit 1
        ;;
esac

readonly ACCESS_TOKEN="$(get_metadata_value "instance/service-accounts/default/token" | awk -F\" '{ print $4 }')"
readonly INSTANCE_NAME="$(get_metadata_value "instance/name")"
readonly RUNTIME_CONFIG_URL="$(get_attribute_value "status-config-url")"
readonly RUNTIME_CONFIG_PATH="$(echo "${RUNTIME_CONFIG_URL}" | sed 's|https\?://[^/]\+/v1\(beta1\)\?/||')"
readonly VARIABLE_PATH="$(get_attribute_value "status-variable-path")"

readonly ACTIONBASE64="$(echo -n "${ACTION}" | base64)"
readonly PAYLOAD="$(printf '{"name": "%s", "value": "%s"}' "${RUNTIME_CONFIG_PATH}/variables/${VARIABLE_PATH}/${ACTION}/${INSTANCE_NAME}" "${ACTIONBASE64}")"
echo "Posting software startup ${ACTION} status"
curl -s \
  -X POST \
  -d "${PAYLOAD}" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  "${RUNTIME_CONFIG_URL}/variables"
